'Weak Dependency Graph [60.0]' ------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { flatten(nil()) -> nil() , flatten(unit(x)) -> flatten(x) , flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten(flatten(x)) -> flatten(x) , rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(++(x, y)) -> ++(rev(y), rev(x)) , rev(rev(x)) -> x , ++(x, nil()) -> x , ++(nil(), y) -> y , ++(++(x, y), z) -> ++(x, ++(y, z))} Details: We have computed the following set of weak (innermost) dependency pairs: { flatten^#(nil()) -> c_0() , flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y))) , flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y))) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , rev^#(nil()) -> c_5() , rev^#(unit(x)) -> c_6() , rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x))) , rev^#(rev(x)) -> c_8() , ++^#(x, nil()) -> c_9() , ++^#(nil(), y) -> c_10() , ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))} The usable rules are: { flatten(nil()) -> nil() , flatten(unit(x)) -> flatten(x) , flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten(flatten(x)) -> flatten(x) , rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(++(x, y)) -> ++(rev(y), rev(x)) , rev(rev(x)) -> x , ++(x, nil()) -> x , ++(nil(), y) -> y , ++(++(x, y), z) -> ++(x, ++(y, z))} The estimated dependency graph contains the following edges: {flatten^#(unit(x)) -> c_1(flatten^#(x))} ==> {flatten^#(flatten(x)) -> c_4(flatten^#(x))} {flatten^#(unit(x)) -> c_1(flatten^#(x))} ==> {flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))} {flatten^#(unit(x)) -> c_1(flatten^#(x))} ==> {flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))} {flatten^#(unit(x)) -> c_1(flatten^#(x))} ==> {flatten^#(unit(x)) -> c_1(flatten^#(x))} {flatten^#(unit(x)) -> c_1(flatten^#(x))} ==> {flatten^#(nil()) -> c_0()} {flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))} ==> {++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))} {flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))} ==> {++^#(nil(), y) -> c_10()} {flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))} ==> {++^#(x, nil()) -> c_9()} {flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))} ==> {++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))} {flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))} ==> {++^#(nil(), y) -> c_10()} {flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))} ==> {++^#(x, nil()) -> c_9()} {flatten^#(flatten(x)) -> c_4(flatten^#(x))} ==> {flatten^#(flatten(x)) -> c_4(flatten^#(x))} {flatten^#(flatten(x)) -> c_4(flatten^#(x))} ==> {flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))} {flatten^#(flatten(x)) -> c_4(flatten^#(x))} ==> {flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))} {flatten^#(flatten(x)) -> c_4(flatten^#(x))} ==> {flatten^#(unit(x)) -> c_1(flatten^#(x))} {flatten^#(flatten(x)) -> c_4(flatten^#(x))} ==> {flatten^#(nil()) -> c_0()} {rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))} ==> {++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))} {rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))} ==> {++^#(nil(), y) -> c_10()} {rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))} ==> {++^#(x, nil()) -> c_9()} {++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))} ==> {++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))} {++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))} ==> {++^#(nil(), y) -> c_10()} {++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))} ==> {++^#(x, nil()) -> c_9()} We consider the following path(s): 1) { flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y))) , ++^#(x, nil()) -> c_9()} The usable rules for this path are the following: { flatten(nil()) -> nil() , flatten(unit(x)) -> flatten(x) , flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten(flatten(x)) -> flatten(x) , ++(x, nil()) -> x , ++(nil(), y) -> y , ++(++(x, y), z) -> ++(x, ++(y, z))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { flatten(nil()) -> nil() , flatten(unit(x)) -> flatten(x) , flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten(flatten(x)) -> flatten(x) , ++(x, nil()) -> x , ++(nil(), y) -> y , ++(++(x, y), z) -> ++(x, ++(y, z)) , flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y))) , flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , ++^#(x, nil()) -> c_9()} Details: We apply the weight gap principle, strictly orienting the rules { flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [1] c_0() = [0] c_1(x1) = [1] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3(x1) = [1] x1 + [1] c_4(x1) = [1] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {++^#(x, nil()) -> c_9()} and weakly orienting the rules { flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {++^#(x, nil()) -> c_9()} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [1] c_0() = [0] c_1(x1) = [1] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [8] c_3(x1) = [1] x1 + [1] c_4(x1) = [1] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { ++(x, nil()) -> x , ++(nil(), y) -> y} and weakly orienting the rules { ++^#(x, nil()) -> c_9() , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { ++(x, nil()) -> x , ++(nil(), y) -> y} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [1] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [0] c_0() = [0] c_1(x1) = [1] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3(x1) = [1] x1 + [1] c_4(x1) = [1] x1 + [1] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))} and weakly orienting the rules { ++(x, nil()) -> x , ++(nil(), y) -> y , ++^#(x, nil()) -> c_9() , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [2] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [9] c_0() = [0] c_1(x1) = [1] x1 + [4] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [1] c_3(x1) = [1] x1 + [0] c_4(x1) = [1] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x))} and weakly orienting the rules { flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y))) , ++(x, nil()) -> x , ++(nil(), y) -> y , ++^#(x, nil()) -> c_9() , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x))} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [8] unit(x1) = [1] x1 + [8] ++(x1, x2) = [1] x1 + [1] x2 + [8] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [0] c_0() = [0] c_1(x1) = [1] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [1] c_3(x1) = [1] x1 + [6] c_4(x1) = [1] x1 + [1] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , ++(++(x, y), z) -> ++(x, ++(y, z))} Weak Rules: { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y))) , ++(x, nil()) -> x , ++(nil(), y) -> y , ++^#(x, nil()) -> c_9() , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , ++(++(x, y), z) -> ++(x, ++(y, z))} Weak Rules: { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y))) , ++(x, nil()) -> x , ++(nil(), y) -> y , ++^#(x, nil()) -> c_9() , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { nil_0() -> 2 , unit_0(2) -> 3 , unit_0(3) -> 3 , flatten^#_0(2) -> 6 , flatten^#_0(3) -> 6 , c_1_0(6) -> 6 , ++^#_0(2, 2) -> 10 , ++^#_0(2, 3) -> 10 , ++^#_0(3, 2) -> 10 , ++^#_0(3, 3) -> 10 , c_9_0() -> 10} 2) { flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y))) , ++^#(nil(), y) -> c_10()} The usable rules for this path are the following: { flatten(nil()) -> nil() , flatten(unit(x)) -> flatten(x) , flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten(flatten(x)) -> flatten(x) , ++(x, nil()) -> x , ++(nil(), y) -> y , ++(++(x, y), z) -> ++(x, ++(y, z))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { flatten(nil()) -> nil() , flatten(unit(x)) -> flatten(x) , flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten(flatten(x)) -> flatten(x) , ++(x, nil()) -> x , ++(nil(), y) -> y , ++(++(x, y), z) -> ++(x, ++(y, z)) , flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y))) , flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , ++^#(nil(), y) -> c_10()} Details: We apply the weight gap principle, strictly orienting the rules { flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [1] c_0() = [0] c_1(x1) = [1] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3(x1) = [1] x1 + [1] c_4(x1) = [1] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {++^#(nil(), y) -> c_10()} and weakly orienting the rules { flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {++^#(nil(), y) -> c_10()} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [1] c_0() = [0] c_1(x1) = [1] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [8] c_3(x1) = [1] x1 + [1] c_4(x1) = [1] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { ++(x, nil()) -> x , ++(nil(), y) -> y} and weakly orienting the rules { ++^#(nil(), y) -> c_10() , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { ++(x, nil()) -> x , ++(nil(), y) -> y} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [1] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [0] c_0() = [0] c_1(x1) = [1] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3(x1) = [1] x1 + [1] c_4(x1) = [1] x1 + [1] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))} and weakly orienting the rules { ++(x, nil()) -> x , ++(nil(), y) -> y , ++^#(nil(), y) -> c_10() , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [2] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [9] c_0() = [0] c_1(x1) = [1] x1 + [4] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [1] c_3(x1) = [1] x1 + [0] c_4(x1) = [1] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x))} and weakly orienting the rules { flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y))) , ++(x, nil()) -> x , ++(nil(), y) -> y , ++^#(nil(), y) -> c_10() , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x))} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [8] unit(x1) = [1] x1 + [8] ++(x1, x2) = [1] x1 + [1] x2 + [8] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [0] c_0() = [0] c_1(x1) = [1] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [1] c_3(x1) = [1] x1 + [6] c_4(x1) = [1] x1 + [1] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , ++(++(x, y), z) -> ++(x, ++(y, z))} Weak Rules: { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y))) , ++(x, nil()) -> x , ++(nil(), y) -> y , ++^#(nil(), y) -> c_10() , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , ++(++(x, y), z) -> ++(x, ++(y, z))} Weak Rules: { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y))) , ++(x, nil()) -> x , ++(nil(), y) -> y , ++^#(nil(), y) -> c_10() , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { nil_0() -> 2 , unit_0(2) -> 3 , unit_0(3) -> 3 , flatten^#_0(2) -> 6 , flatten^#_0(3) -> 6 , c_1_0(6) -> 6 , ++^#_0(2, 2) -> 10 , ++^#_0(2, 3) -> 10 , ++^#_0(3, 2) -> 10 , ++^#_0(3, 3) -> 10 , c_10_0() -> 10} 3) { flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y))) , ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z))) , ++^#(x, nil()) -> c_9()} The usable rules for this path are the following: { flatten(nil()) -> nil() , flatten(unit(x)) -> flatten(x) , flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten(flatten(x)) -> flatten(x) , ++(x, nil()) -> x , ++(nil(), y) -> y , ++(++(x, y), z) -> ++(x, ++(y, z))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { flatten(nil()) -> nil() , flatten(unit(x)) -> flatten(x) , flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten(flatten(x)) -> flatten(x) , ++(x, nil()) -> x , ++(nil(), y) -> y , ++(++(x, y), z) -> ++(x, ++(y, z)) , ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z))) , flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y))) , flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , ++^#(x, nil()) -> c_9()} Details: We apply the weight gap principle, strictly orienting the rules { flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y))) , ++^#(x, nil()) -> c_9()} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y))) , ++^#(x, nil()) -> c_9()} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [10] c_0() = [0] c_1(x1) = [1] x1 + [1] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [5] c_3(x1) = [1] x1 + [0] c_4(x1) = [1] x1 + [1] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [1] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {flatten^#(flatten(x)) -> c_4(flatten^#(x))} and weakly orienting the rules { flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y))) , ++^#(x, nil()) -> c_9()} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {flatten^#(flatten(x)) -> c_4(flatten^#(x))} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [9] c_0() = [0] c_1(x1) = [1] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [1] c_3(x1) = [1] x1 + [0] c_4(x1) = [1] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [1] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { ++(x, nil()) -> x , ++(nil(), y) -> y} and weakly orienting the rules { flatten^#(flatten(x)) -> c_4(flatten^#(x)) , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y))) , ++^#(x, nil()) -> c_9()} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { ++(x, nil()) -> x , ++(nil(), y) -> y} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [8] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [8] c_0() = [0] c_1(x1) = [1] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3(x1) = [1] x1 + [1] c_4(x1) = [1] x1 + [1] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [1] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x))} and weakly orienting the rules { ++(x, nil()) -> x , ++(nil(), y) -> y , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y))) , ++^#(x, nil()) -> c_9()} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x))} Details: Interpretation Functions: flatten(x1) = [1] x1 + [0] nil() = [1] unit(x1) = [1] x1 + [14] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [8] c_0() = [0] c_1(x1) = [1] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [1] c_3(x1) = [1] x1 + [15] c_4(x1) = [1] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [1] x1 + [2] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , ++(++(x, y), z) -> ++(x, ++(y, z)) , ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))} Weak Rules: { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x)) , ++(x, nil()) -> x , ++(nil(), y) -> y , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y))) , ++^#(x, nil()) -> c_9()} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , ++(++(x, y), z) -> ++(x, ++(y, z)) , ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))} Weak Rules: { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x)) , ++(x, nil()) -> x , ++(nil(), y) -> y , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y))) , ++^#(x, nil()) -> c_9()} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { nil_0() -> 2 , unit_0(2) -> 3 , unit_0(3) -> 3 , flatten^#_0(2) -> 6 , flatten^#_0(3) -> 6 , c_1_0(6) -> 6 , ++^#_0(2, 2) -> 10 , ++^#_0(2, 3) -> 10 , ++^#_0(3, 2) -> 10 , ++^#_0(3, 3) -> 10 , c_9_0() -> 10} 4) { flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y))) , ++^#(x, nil()) -> c_9()} The usable rules for this path are the following: { flatten(nil()) -> nil() , flatten(unit(x)) -> flatten(x) , flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten(flatten(x)) -> flatten(x) , ++(x, nil()) -> x , ++(nil(), y) -> y , ++(++(x, y), z) -> ++(x, ++(y, z))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { flatten(nil()) -> nil() , flatten(unit(x)) -> flatten(x) , flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten(flatten(x)) -> flatten(x) , ++(x, nil()) -> x , ++(nil(), y) -> y , ++(++(x, y), z) -> ++(x, ++(y, z)) , flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y))) , flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , ++^#(x, nil()) -> c_9()} Details: We apply the weight gap principle, strictly orienting the rules { flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [1] c_0() = [0] c_1(x1) = [1] x1 + [0] c_2(x1) = [1] x1 + [1] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3(x1) = [0] x1 + [0] c_4(x1) = [1] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {++^#(x, nil()) -> c_9()} and weakly orienting the rules { flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {++^#(x, nil()) -> c_9()} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [1] c_0() = [0] c_1(x1) = [1] x1 + [0] c_2(x1) = [1] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [1] c_3(x1) = [0] x1 + [0] c_4(x1) = [1] x1 + [1] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { ++(x, nil()) -> x , ++(nil(), y) -> y} and weakly orienting the rules { ++^#(x, nil()) -> c_9() , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { ++(x, nil()) -> x , ++(nil(), y) -> y} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [1] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [0] c_0() = [0] c_1(x1) = [1] x1 + [0] c_2(x1) = [1] x1 + [1] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3(x1) = [0] x1 + [0] c_4(x1) = [1] x1 + [1] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))} and weakly orienting the rules { ++(x, nil()) -> x , ++(nil(), y) -> y , ++^#(x, nil()) -> c_9() , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [9] c_0() = [0] c_1(x1) = [1] x1 + [13] c_2(x1) = [1] x1 + [1] ++^#(x1, x2) = [1] x1 + [1] x2 + [2] c_3(x1) = [0] x1 + [0] c_4(x1) = [1] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x))} and weakly orienting the rules { flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y))) , ++(x, nil()) -> x , ++(nil(), y) -> y , ++^#(x, nil()) -> c_9() , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x))} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [8] unit(x1) = [1] x1 + [8] ++(x1, x2) = [1] x1 + [1] x2 + [10] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [1] c_0() = [0] c_1(x1) = [1] x1 + [0] c_2(x1) = [1] x1 + [1] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3(x1) = [0] x1 + [0] c_4(x1) = [1] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , ++(++(x, y), z) -> ++(x, ++(y, z))} Weak Rules: { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y))) , ++(x, nil()) -> x , ++(nil(), y) -> y , ++^#(x, nil()) -> c_9() , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , ++(++(x, y), z) -> ++(x, ++(y, z))} Weak Rules: { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y))) , ++(x, nil()) -> x , ++(nil(), y) -> y , ++^#(x, nil()) -> c_9() , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { nil_0() -> 2 , unit_0(2) -> 3 , unit_0(3) -> 3 , flatten^#_0(2) -> 6 , flatten^#_0(3) -> 6 , c_1_0(6) -> 6 , ++^#_0(2, 2) -> 10 , ++^#_0(2, 3) -> 10 , ++^#_0(3, 2) -> 10 , ++^#_0(3, 3) -> 10 , c_9_0() -> 10} 5) { flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y))) , ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z))) , ++^#(nil(), y) -> c_10()} The usable rules for this path are the following: { flatten(nil()) -> nil() , flatten(unit(x)) -> flatten(x) , flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten(flatten(x)) -> flatten(x) , ++(x, nil()) -> x , ++(nil(), y) -> y , ++(++(x, y), z) -> ++(x, ++(y, z))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { flatten(nil()) -> nil() , flatten(unit(x)) -> flatten(x) , flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten(flatten(x)) -> flatten(x) , ++(x, nil()) -> x , ++(nil(), y) -> y , ++(++(x, y), z) -> ++(x, ++(y, z)) , ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z))) , flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y))) , flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , ++^#(nil(), y) -> c_10()} Details: We apply the weight gap principle, strictly orienting the rules { flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y))) , ++^#(nil(), y) -> c_10()} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y))) , ++^#(nil(), y) -> c_10()} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [10] c_0() = [0] c_1(x1) = [1] x1 + [1] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [5] c_3(x1) = [1] x1 + [0] c_4(x1) = [1] x1 + [1] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [1] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {flatten^#(flatten(x)) -> c_4(flatten^#(x))} and weakly orienting the rules { flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y))) , ++^#(nil(), y) -> c_10()} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {flatten^#(flatten(x)) -> c_4(flatten^#(x))} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [9] c_0() = [0] c_1(x1) = [1] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [1] c_3(x1) = [1] x1 + [0] c_4(x1) = [1] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [1] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { ++(x, nil()) -> x , ++(nil(), y) -> y} and weakly orienting the rules { flatten^#(flatten(x)) -> c_4(flatten^#(x)) , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y))) , ++^#(nil(), y) -> c_10()} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { ++(x, nil()) -> x , ++(nil(), y) -> y} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [8] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [8] c_0() = [0] c_1(x1) = [1] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3(x1) = [1] x1 + [1] c_4(x1) = [1] x1 + [1] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [1] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x))} and weakly orienting the rules { ++(x, nil()) -> x , ++(nil(), y) -> y , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y))) , ++^#(nil(), y) -> c_10()} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x))} Details: Interpretation Functions: flatten(x1) = [1] x1 + [0] nil() = [1] unit(x1) = [1] x1 + [14] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [8] c_0() = [0] c_1(x1) = [1] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [1] c_3(x1) = [1] x1 + [15] c_4(x1) = [1] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [1] x1 + [2] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , ++(++(x, y), z) -> ++(x, ++(y, z)) , ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))} Weak Rules: { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x)) , ++(x, nil()) -> x , ++(nil(), y) -> y , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y))) , ++^#(nil(), y) -> c_10()} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , ++(++(x, y), z) -> ++(x, ++(y, z)) , ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))} Weak Rules: { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x)) , ++(x, nil()) -> x , ++(nil(), y) -> y , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y))) , ++^#(nil(), y) -> c_10()} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { nil_0() -> 2 , unit_0(2) -> 3 , unit_0(3) -> 3 , flatten^#_0(2) -> 6 , flatten^#_0(3) -> 6 , c_1_0(6) -> 6 , ++^#_0(2, 2) -> 10 , ++^#_0(2, 3) -> 10 , ++^#_0(3, 2) -> 10 , ++^#_0(3, 3) -> 10 , c_10_0() -> 10} 6) { flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y))) , ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z))) , ++^#(x, nil()) -> c_9()} The usable rules for this path are the following: { flatten(nil()) -> nil() , flatten(unit(x)) -> flatten(x) , flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten(flatten(x)) -> flatten(x) , ++(x, nil()) -> x , ++(nil(), y) -> y , ++(++(x, y), z) -> ++(x, ++(y, z))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { flatten(nil()) -> nil() , flatten(unit(x)) -> flatten(x) , flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten(flatten(x)) -> flatten(x) , ++(x, nil()) -> x , ++(nil(), y) -> y , ++(++(x, y), z) -> ++(x, ++(y, z)) , ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z))) , flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y))) , flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , ++^#(x, nil()) -> c_9()} Details: We apply the weight gap principle, strictly orienting the rules { flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , ++^#(x, nil()) -> c_9()} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , ++^#(x, nil()) -> c_9()} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [1] c_0() = [0] c_1(x1) = [1] x1 + [0] c_2(x1) = [1] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [1] c_3(x1) = [0] x1 + [0] c_4(x1) = [1] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [1] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))} and weakly orienting the rules { flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , ++^#(x, nil()) -> c_9()} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [9] c_0() = [0] c_1(x1) = [1] x1 + [0] c_2(x1) = [1] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [1] c_3(x1) = [0] x1 + [0] c_4(x1) = [1] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [1] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { ++(x, nil()) -> x , ++(nil(), y) -> y} and weakly orienting the rules { flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y))) , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , ++^#(x, nil()) -> c_9()} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { ++(x, nil()) -> x , ++(nil(), y) -> y} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [4] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [8] c_0() = [0] c_1(x1) = [1] x1 + [1] c_2(x1) = [1] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [1] c_3(x1) = [0] x1 + [0] c_4(x1) = [1] x1 + [1] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [1] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x))} and weakly orienting the rules { ++(x, nil()) -> x , ++(nil(), y) -> y , flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y))) , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , ++^#(x, nil()) -> c_9()} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x))} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [0] unit(x1) = [1] x1 + [8] ++(x1, x2) = [1] x1 + [1] x2 + [7] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [9] c_0() = [0] c_1(x1) = [1] x1 + [1] c_2(x1) = [1] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [7] c_3(x1) = [0] x1 + [0] c_4(x1) = [1] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [1] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , ++(++(x, y), z) -> ++(x, ++(y, z)) , ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))} Weak Rules: { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x)) , ++(x, nil()) -> x , ++(nil(), y) -> y , flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y))) , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , ++^#(x, nil()) -> c_9()} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , ++(++(x, y), z) -> ++(x, ++(y, z)) , ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))} Weak Rules: { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x)) , ++(x, nil()) -> x , ++(nil(), y) -> y , flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y))) , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , ++^#(x, nil()) -> c_9()} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { nil_0() -> 2 , unit_0(2) -> 2 , flatten^#_0(2) -> 1 , c_1_0(1) -> 1 , ++^#_0(2, 2) -> 1 , c_9_0() -> 1} 7) { flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y))) , ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z))) , ++^#(nil(), y) -> c_10()} The usable rules for this path are the following: { flatten(nil()) -> nil() , flatten(unit(x)) -> flatten(x) , flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten(flatten(x)) -> flatten(x) , ++(x, nil()) -> x , ++(nil(), y) -> y , ++(++(x, y), z) -> ++(x, ++(y, z))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { flatten(nil()) -> nil() , flatten(unit(x)) -> flatten(x) , flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten(flatten(x)) -> flatten(x) , ++(x, nil()) -> x , ++(nil(), y) -> y , ++(++(x, y), z) -> ++(x, ++(y, z)) , ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z))) , flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y))) , flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , ++^#(nil(), y) -> c_10()} Details: We apply the weight gap principle, strictly orienting the rules { flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , ++^#(nil(), y) -> c_10()} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , ++^#(nil(), y) -> c_10()} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [1] c_0() = [0] c_1(x1) = [1] x1 + [0] c_2(x1) = [1] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [1] c_3(x1) = [0] x1 + [0] c_4(x1) = [1] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [1] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))} and weakly orienting the rules { flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , ++^#(nil(), y) -> c_10()} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [9] c_0() = [0] c_1(x1) = [1] x1 + [0] c_2(x1) = [1] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [1] c_3(x1) = [0] x1 + [0] c_4(x1) = [1] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [1] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { ++(x, nil()) -> x , ++(nil(), y) -> y} and weakly orienting the rules { flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y))) , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , ++^#(nil(), y) -> c_10()} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { ++(x, nil()) -> x , ++(nil(), y) -> y} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [4] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [8] c_0() = [0] c_1(x1) = [1] x1 + [1] c_2(x1) = [1] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [1] c_3(x1) = [0] x1 + [0] c_4(x1) = [1] x1 + [1] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [1] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x))} and weakly orienting the rules { ++(x, nil()) -> x , ++(nil(), y) -> y , flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y))) , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , ++^#(nil(), y) -> c_10()} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x))} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [0] unit(x1) = [1] x1 + [8] ++(x1, x2) = [1] x1 + [1] x2 + [7] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [9] c_0() = [0] c_1(x1) = [1] x1 + [1] c_2(x1) = [1] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [7] c_3(x1) = [0] x1 + [0] c_4(x1) = [1] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [1] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , ++(++(x, y), z) -> ++(x, ++(y, z)) , ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))} Weak Rules: { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x)) , ++(x, nil()) -> x , ++(nil(), y) -> y , flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y))) , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , ++^#(nil(), y) -> c_10()} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , ++(++(x, y), z) -> ++(x, ++(y, z)) , ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))} Weak Rules: { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x)) , ++(x, nil()) -> x , ++(nil(), y) -> y , flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y))) , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , ++^#(nil(), y) -> c_10()} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { nil_0() -> 2 , unit_0(2) -> 3 , unit_0(3) -> 3 , flatten^#_0(2) -> 6 , flatten^#_0(3) -> 6 , c_1_0(6) -> 6 , ++^#_0(2, 2) -> 10 , ++^#_0(2, 3) -> 10 , ++^#_0(3, 2) -> 10 , ++^#_0(3, 3) -> 10 , c_10_0() -> 10} 8) { flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y))) , ++^#(nil(), y) -> c_10()} The usable rules for this path are the following: { flatten(nil()) -> nil() , flatten(unit(x)) -> flatten(x) , flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten(flatten(x)) -> flatten(x) , ++(x, nil()) -> x , ++(nil(), y) -> y , ++(++(x, y), z) -> ++(x, ++(y, z))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { flatten(nil()) -> nil() , flatten(unit(x)) -> flatten(x) , flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten(flatten(x)) -> flatten(x) , ++(x, nil()) -> x , ++(nil(), y) -> y , ++(++(x, y), z) -> ++(x, ++(y, z)) , flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y))) , flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , ++^#(nil(), y) -> c_10()} Details: We apply the weight gap principle, strictly orienting the rules { flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [1] c_0() = [0] c_1(x1) = [1] x1 + [0] c_2(x1) = [1] x1 + [1] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3(x1) = [0] x1 + [0] c_4(x1) = [1] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {++^#(nil(), y) -> c_10()} and weakly orienting the rules { flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {++^#(nil(), y) -> c_10()} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [1] c_0() = [0] c_1(x1) = [1] x1 + [0] c_2(x1) = [1] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [1] c_3(x1) = [0] x1 + [0] c_4(x1) = [1] x1 + [1] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { ++(x, nil()) -> x , ++(nil(), y) -> y} and weakly orienting the rules { ++^#(nil(), y) -> c_10() , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { ++(x, nil()) -> x , ++(nil(), y) -> y} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [1] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [0] c_0() = [0] c_1(x1) = [1] x1 + [0] c_2(x1) = [1] x1 + [1] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3(x1) = [0] x1 + [0] c_4(x1) = [1] x1 + [1] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))} and weakly orienting the rules { ++(x, nil()) -> x , ++(nil(), y) -> y , ++^#(nil(), y) -> c_10() , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [9] c_0() = [0] c_1(x1) = [1] x1 + [13] c_2(x1) = [1] x1 + [1] ++^#(x1, x2) = [1] x1 + [1] x2 + [2] c_3(x1) = [0] x1 + [0] c_4(x1) = [1] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x))} and weakly orienting the rules { flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y))) , ++(x, nil()) -> x , ++(nil(), y) -> y , ++^#(nil(), y) -> c_10() , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x))} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [8] unit(x1) = [1] x1 + [8] ++(x1, x2) = [1] x1 + [1] x2 + [10] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [1] c_0() = [0] c_1(x1) = [1] x1 + [0] c_2(x1) = [1] x1 + [1] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3(x1) = [0] x1 + [0] c_4(x1) = [1] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , ++(++(x, y), z) -> ++(x, ++(y, z))} Weak Rules: { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y))) , ++(x, nil()) -> x , ++(nil(), y) -> y , ++^#(nil(), y) -> c_10() , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , ++(++(x, y), z) -> ++(x, ++(y, z))} Weak Rules: { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y))) , ++(x, nil()) -> x , ++(nil(), y) -> y , ++^#(nil(), y) -> c_10() , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { nil_0() -> 2 , unit_0(2) -> 3 , unit_0(3) -> 3 , flatten^#_0(2) -> 6 , flatten^#_0(3) -> 6 , c_1_0(6) -> 6 , ++^#_0(2, 2) -> 10 , ++^#_0(2, 3) -> 10 , ++^#_0(3, 2) -> 10 , ++^#_0(3, 3) -> 10 , c_10_0() -> 10} 9) { flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y))) , ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))} The usable rules for this path are the following: { flatten(nil()) -> nil() , flatten(unit(x)) -> flatten(x) , flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten(flatten(x)) -> flatten(x) , ++(x, nil()) -> x , ++(nil(), y) -> y , ++(++(x, y), z) -> ++(x, ++(y, z))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { flatten(nil()) -> nil() , flatten(unit(x)) -> flatten(x) , flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten(flatten(x)) -> flatten(x) , ++(x, nil()) -> x , ++(nil(), y) -> y , ++(++(x, y), z) -> ++(x, ++(y, z)) , flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y))) , flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))} Details: We apply the weight gap principle, strictly orienting the rules { flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [1] c_0() = [0] c_1(x1) = [1] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3(x1) = [1] x1 + [1] c_4(x1) = [1] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [1] x1 + [1] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { ++(x, nil()) -> x , ++(nil(), y) -> y} and weakly orienting the rules { flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { ++(x, nil()) -> x , ++(nil(), y) -> y} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [1] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [1] c_0() = [0] c_1(x1) = [1] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [1] c_3(x1) = [1] x1 + [14] c_4(x1) = [1] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [1] x1 + [3] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))} and weakly orienting the rules { ++(x, nil()) -> x , ++(nil(), y) -> y , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [9] c_0() = [0] c_1(x1) = [1] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3(x1) = [1] x1 + [1] c_4(x1) = [1] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [1] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x))} and weakly orienting the rules { flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y))) , ++(x, nil()) -> x , ++(nil(), y) -> y , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x))} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [1] unit(x1) = [1] x1 + [12] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [0] c_0() = [0] c_1(x1) = [1] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3(x1) = [1] x1 + [6] c_4(x1) = [1] x1 + [1] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [1] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , ++(++(x, y), z) -> ++(x, ++(y, z)) , ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))} Weak Rules: { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y))) , ++(x, nil()) -> x , ++(nil(), y) -> y , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , ++(++(x, y), z) -> ++(x, ++(y, z)) , ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))} Weak Rules: { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y))) , ++(x, nil()) -> x , ++(nil(), y) -> y , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { nil_0() -> 2 , unit_0(2) -> 3 , unit_0(3) -> 3 , flatten^#_0(2) -> 6 , flatten^#_0(3) -> 6 , c_1_0(6) -> 6 , ++^#_0(2, 2) -> 10 , ++^#_0(2, 3) -> 10 , ++^#_0(3, 2) -> 10 , ++^#_0(3, 3) -> 10} 10) { flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y))) , ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))} The usable rules for this path are the following: { flatten(nil()) -> nil() , flatten(unit(x)) -> flatten(x) , flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten(flatten(x)) -> flatten(x) , ++(x, nil()) -> x , ++(nil(), y) -> y , ++(++(x, y), z) -> ++(x, ++(y, z))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { flatten(nil()) -> nil() , flatten(unit(x)) -> flatten(x) , flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten(flatten(x)) -> flatten(x) , ++(x, nil()) -> x , ++(nil(), y) -> y , ++(++(x, y), z) -> ++(x, ++(y, z)) , flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y))) , flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))} Details: We apply the weight gap principle, strictly orienting the rules { flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [1] c_0() = [0] c_1(x1) = [1] x1 + [0] c_2(x1) = [1] x1 + [2] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3(x1) = [0] x1 + [0] c_4(x1) = [1] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [1] x1 + [9] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))} and weakly orienting the rules { flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [9] c_0() = [0] c_1(x1) = [1] x1 + [3] c_2(x1) = [1] x1 + [1] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3(x1) = [0] x1 + [0] c_4(x1) = [1] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [1] x1 + [1] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { ++(x, nil()) -> x , ++(nil(), y) -> y} and weakly orienting the rules { flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y))) , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { ++(x, nil()) -> x , ++(nil(), y) -> y} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [1] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [2] c_0() = [0] c_1(x1) = [1] x1 + [0] c_2(x1) = [1] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3(x1) = [0] x1 + [0] c_4(x1) = [1] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [1] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x))} and weakly orienting the rules { ++(x, nil()) -> x , ++(nil(), y) -> y , flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y))) , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x))} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [4] unit(x1) = [1] x1 + [14] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [4] c_0() = [0] c_1(x1) = [1] x1 + [9] c_2(x1) = [1] x1 + [1] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3(x1) = [0] x1 + [0] c_4(x1) = [1] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [1] x1 + [3] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , ++(++(x, y), z) -> ++(x, ++(y, z)) , ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))} Weak Rules: { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x)) , ++(x, nil()) -> x , ++(nil(), y) -> y , flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y))) , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , ++(++(x, y), z) -> ++(x, ++(y, z)) , ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))} Weak Rules: { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x)) , ++(x, nil()) -> x , ++(nil(), y) -> y , flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y))) , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { nil_0() -> 2 , unit_0(2) -> 3 , unit_0(3) -> 3 , flatten^#_0(2) -> 6 , flatten^#_0(3) -> 6 , c_1_0(6) -> 6 , ++^#_0(2, 2) -> 10 , ++^#_0(2, 3) -> 10 , ++^#_0(3, 2) -> 10 , ++^#_0(3, 3) -> 10} 11) { flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))} The usable rules for this path are the following: { flatten(nil()) -> nil() , flatten(unit(x)) -> flatten(x) , flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten(flatten(x)) -> flatten(x) , ++(x, nil()) -> x , ++(nil(), y) -> y , ++(++(x, y), z) -> ++(x, ++(y, z))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { flatten(nil()) -> nil() , flatten(unit(x)) -> flatten(x) , flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten(flatten(x)) -> flatten(x) , ++(x, nil()) -> x , ++(nil(), y) -> y , ++(++(x, y), z) -> ++(x, ++(y, z)) , flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))} Details: We apply the weight gap principle, strictly orienting the rules { flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [1] c_0() = [0] c_1(x1) = [1] x1 + [7] c_2(x1) = [1] x1 + [1] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3(x1) = [0] x1 + [0] c_4(x1) = [1] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))} and weakly orienting the rules { flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [9] c_0() = [0] c_1(x1) = [1] x1 + [0] c_2(x1) = [1] x1 + [1] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3(x1) = [0] x1 + [0] c_4(x1) = [1] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { ++(x, nil()) -> x , ++(nil(), y) -> y} and weakly orienting the rules { flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y))) , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { ++(x, nil()) -> x , ++(nil(), y) -> y} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [4] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [8] c_0() = [0] c_1(x1) = [1] x1 + [1] c_2(x1) = [1] x1 + [1] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3(x1) = [0] x1 + [0] c_4(x1) = [1] x1 + [1] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x))} and weakly orienting the rules { ++(x, nil()) -> x , ++(nil(), y) -> y , flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y))) , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x))} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [8] unit(x1) = [1] x1 + [8] ++(x1, x2) = [1] x1 + [1] x2 + [8] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [8] c_0() = [0] c_1(x1) = [1] x1 + [1] c_2(x1) = [1] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [2] c_3(x1) = [0] x1 + [0] c_4(x1) = [1] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , ++(++(x, y), z) -> ++(x, ++(y, z))} Weak Rules: { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x)) , ++(x, nil()) -> x , ++(nil(), y) -> y , flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y))) , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , ++(++(x, y), z) -> ++(x, ++(y, z))} Weak Rules: { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten^#(unit(x)) -> c_1(flatten^#(x)) , ++(x, nil()) -> x , ++(nil(), y) -> y , flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y))) , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { nil_0() -> 2 , unit_0(2) -> 3 , unit_0(3) -> 3 , flatten^#_0(2) -> 6 , flatten^#_0(3) -> 6 , c_1_0(6) -> 6 , ++^#_0(2, 2) -> 10 , ++^#_0(2, 3) -> 10 , ++^#_0(3, 2) -> 10 , ++^#_0(3, 3) -> 10} 12) { flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))} The usable rules for this path are the following: { flatten(nil()) -> nil() , flatten(unit(x)) -> flatten(x) , flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten(flatten(x)) -> flatten(x) , ++(x, nil()) -> x , ++(nil(), y) -> y , ++(++(x, y), z) -> ++(x, ++(y, z))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { flatten(nil()) -> nil() , flatten(unit(x)) -> flatten(x) , flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , flatten(flatten(x)) -> flatten(x) , ++(x, nil()) -> x , ++(nil(), y) -> y , ++(++(x, y), z) -> ++(x, ++(y, z)) , flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))} Details: We apply the weight gap principle, strictly orienting the rules { flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [1] c_0() = [0] c_1(x1) = [1] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3(x1) = [1] x1 + [1] c_4(x1) = [1] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))} and weakly orienting the rules { flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [9] c_0() = [0] c_1(x1) = [1] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3(x1) = [1] x1 + [1] c_4(x1) = [1] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , ++(x, nil()) -> x , ++(nil(), y) -> y , flatten^#(unit(x)) -> c_1(flatten^#(x))} and weakly orienting the rules { flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y))) , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , ++(x, nil()) -> x , ++(nil(), y) -> y , flatten^#(unit(x)) -> c_1(flatten^#(x))} Details: Interpretation Functions: flatten(x1) = [1] x1 + [1] nil() = [0] unit(x1) = [1] x1 + [8] ++(x1, x2) = [1] x1 + [1] x2 + [8] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [0] c_0() = [0] c_1(x1) = [1] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3(x1) = [1] x1 + [1] c_4(x1) = [1] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , ++(++(x, y), z) -> ++(x, ++(y, z))} Weak Rules: { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , ++(x, nil()) -> x , ++(nil(), y) -> y , flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y))) , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { flatten(++(x, y)) -> ++(flatten(x), flatten(y)) , ++(++(x, y), z) -> ++(x, ++(y, z))} Weak Rules: { flatten(unit(x)) -> flatten(x) , flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y)) , ++(x, nil()) -> x , ++(nil(), y) -> y , flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y))) , flatten(nil()) -> nil() , flatten(flatten(x)) -> flatten(x) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { nil_0() -> 2 , unit_0(2) -> 3 , unit_0(3) -> 3 , flatten^#_0(2) -> 6 , flatten^#_0(3) -> 6 , c_1_0(6) -> 6 , ++^#_0(2, 2) -> 10 , ++^#_0(2, 3) -> 10 , ++^#_0(3, 2) -> 10 , ++^#_0(3, 3) -> 10} 13) { rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x))) , ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z))) , ++^#(nil(), y) -> c_10()} The usable rules for this path are the following: { rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(++(x, y)) -> ++(rev(y), rev(x)) , rev(rev(x)) -> x , ++(x, nil()) -> x , ++(nil(), y) -> y , ++(++(x, y), z) -> ++(x, ++(y, z))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(++(x, y)) -> ++(rev(y), rev(x)) , rev(rev(x)) -> x , ++(x, nil()) -> x , ++(nil(), y) -> y , ++(++(x, y), z) -> ++(x, ++(y, z)) , ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z))) , rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x))) , ++^#(nil(), y) -> c_10()} Details: We apply the weight gap principle, strictly orienting the rules { rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(rev(x)) -> x , ++^#(nil(), y) -> c_10()} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(rev(x)) -> x , ++^#(nil(), y) -> c_10()} Details: Interpretation Functions: flatten(x1) = [0] x1 + [0] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [1] x1 + [1] flatten^#(x1) = [0] x1 + [0] c_0() = [0] c_1(x1) = [0] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [1] c_3(x1) = [0] x1 + [0] c_4(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [1] c_5() = [0] c_6() = [0] c_7(x1) = [1] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [1] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))} and weakly orienting the rules { rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(rev(x)) -> x , ++^#(nil(), y) -> c_10()} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))} Details: Interpretation Functions: flatten(x1) = [0] x1 + [0] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [1] x1 + [1] flatten^#(x1) = [0] x1 + [0] c_0() = [0] c_1(x1) = [0] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [1] c_3(x1) = [0] x1 + [0] c_4(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [9] c_5() = [0] c_6() = [0] c_7(x1) = [1] x1 + [5] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [1] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { ++(x, nil()) -> x , ++(nil(), y) -> y} and weakly orienting the rules { rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x))) , rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(rev(x)) -> x , ++^#(nil(), y) -> c_10()} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { ++(x, nil()) -> x , ++(nil(), y) -> y} Details: Interpretation Functions: flatten(x1) = [0] x1 + [0] nil() = [1] unit(x1) = [1] x1 + [4] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [1] x1 + [1] flatten^#(x1) = [0] x1 + [0] c_0() = [0] c_1(x1) = [0] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3(x1) = [0] x1 + [0] c_4(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [9] c_5() = [0] c_6() = [0] c_7(x1) = [1] x1 + [1] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [1] x1 + [2] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { rev(++(x, y)) -> ++(rev(y), rev(x)) , ++(++(x, y), z) -> ++(x, ++(y, z)) , ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))} Weak Rules: { ++(x, nil()) -> x , ++(nil(), y) -> y , rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x))) , rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(rev(x)) -> x , ++^#(nil(), y) -> c_10()} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { rev(++(x, y)) -> ++(rev(y), rev(x)) , ++(++(x, y), z) -> ++(x, ++(y, z)) , ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))} Weak Rules: { ++(x, nil()) -> x , ++(nil(), y) -> y , rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x))) , rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(rev(x)) -> x , ++^#(nil(), y) -> c_10()} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { nil_0() -> 2 , unit_0(2) -> 3 , unit_0(3) -> 3 , ++^#_0(2, 2) -> 10 , ++^#_0(2, 3) -> 10 , ++^#_0(3, 2) -> 10 , ++^#_0(3, 3) -> 10 , rev^#_0(2) -> 13 , rev^#_0(3) -> 13 , c_10_0() -> 10} 14) { rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x))) , ++^#(x, nil()) -> c_9()} The usable rules for this path are the following: { rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(++(x, y)) -> ++(rev(y), rev(x)) , rev(rev(x)) -> x , ++(x, nil()) -> x , ++(nil(), y) -> y , ++(++(x, y), z) -> ++(x, ++(y, z))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(++(x, y)) -> ++(rev(y), rev(x)) , rev(rev(x)) -> x , ++(x, nil()) -> x , ++(nil(), y) -> y , ++(++(x, y), z) -> ++(x, ++(y, z)) , rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x))) , ++^#(x, nil()) -> c_9()} Details: We apply the weight gap principle, strictly orienting the rules { rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(rev(x)) -> x} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(rev(x)) -> x} Details: Interpretation Functions: flatten(x1) = [0] x1 + [0] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [1] x1 + [1] flatten^#(x1) = [0] x1 + [0] c_0() = [0] c_1(x1) = [0] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3(x1) = [0] x1 + [0] c_4(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [1] c_5() = [0] c_6() = [0] c_7(x1) = [1] x1 + [1] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {++^#(x, nil()) -> c_9()} and weakly orienting the rules { rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(rev(x)) -> x} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {++^#(x, nil()) -> c_9()} Details: Interpretation Functions: flatten(x1) = [0] x1 + [0] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [1] x1 + [1] flatten^#(x1) = [0] x1 + [0] c_0() = [0] c_1(x1) = [0] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [4] c_3(x1) = [0] x1 + [0] c_4(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [1] c_5() = [0] c_6() = [0] c_7(x1) = [1] x1 + [3] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))} and weakly orienting the rules { ++^#(x, nil()) -> c_9() , rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(rev(x)) -> x} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))} Details: Interpretation Functions: flatten(x1) = [0] x1 + [0] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [1] x1 + [1] flatten^#(x1) = [0] x1 + [0] c_0() = [0] c_1(x1) = [0] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [1] c_3(x1) = [0] x1 + [0] c_4(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [9] c_5() = [0] c_6() = [0] c_7(x1) = [1] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { ++(x, nil()) -> x , ++(nil(), y) -> y} and weakly orienting the rules { rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x))) , ++^#(x, nil()) -> c_9() , rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(rev(x)) -> x} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { ++(x, nil()) -> x , ++(nil(), y) -> y} Details: Interpretation Functions: flatten(x1) = [0] x1 + [0] nil() = [4] unit(x1) = [1] x1 + [3] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [1] x1 + [1] flatten^#(x1) = [0] x1 + [0] c_0() = [0] c_1(x1) = [0] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [1] c_3(x1) = [0] x1 + [0] c_4(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [9] c_5() = [0] c_6() = [0] c_7(x1) = [1] x1 + [2] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { rev(++(x, y)) -> ++(rev(y), rev(x)) , ++(++(x, y), z) -> ++(x, ++(y, z))} Weak Rules: { ++(x, nil()) -> x , ++(nil(), y) -> y , rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x))) , ++^#(x, nil()) -> c_9() , rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(rev(x)) -> x} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { rev(++(x, y)) -> ++(rev(y), rev(x)) , ++(++(x, y), z) -> ++(x, ++(y, z))} Weak Rules: { ++(x, nil()) -> x , ++(nil(), y) -> y , rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x))) , ++^#(x, nil()) -> c_9() , rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(rev(x)) -> x} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { nil_0() -> 2 , unit_0(2) -> 3 , unit_0(3) -> 3 , ++^#_0(2, 2) -> 10 , ++^#_0(2, 3) -> 10 , ++^#_0(3, 2) -> 10 , ++^#_0(3, 3) -> 10 , rev^#_0(2) -> 13 , rev^#_0(3) -> 13 , c_9_0() -> 10} 15) { rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x))) , ++^#(nil(), y) -> c_10()} The usable rules for this path are the following: { rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(++(x, y)) -> ++(rev(y), rev(x)) , rev(rev(x)) -> x , ++(x, nil()) -> x , ++(nil(), y) -> y , ++(++(x, y), z) -> ++(x, ++(y, z))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(++(x, y)) -> ++(rev(y), rev(x)) , rev(rev(x)) -> x , ++(x, nil()) -> x , ++(nil(), y) -> y , ++(++(x, y), z) -> ++(x, ++(y, z)) , rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x))) , ++^#(nil(), y) -> c_10()} Details: We apply the weight gap principle, strictly orienting the rules { rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(rev(x)) -> x} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(rev(x)) -> x} Details: Interpretation Functions: flatten(x1) = [0] x1 + [0] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [1] x1 + [1] flatten^#(x1) = [0] x1 + [0] c_0() = [0] c_1(x1) = [0] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3(x1) = [0] x1 + [0] c_4(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [1] c_5() = [0] c_6() = [0] c_7(x1) = [1] x1 + [1] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {++^#(nil(), y) -> c_10()} and weakly orienting the rules { rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(rev(x)) -> x} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {++^#(nil(), y) -> c_10()} Details: Interpretation Functions: flatten(x1) = [0] x1 + [0] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [1] x1 + [1] flatten^#(x1) = [0] x1 + [0] c_0() = [0] c_1(x1) = [0] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [4] c_3(x1) = [0] x1 + [0] c_4(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [1] c_5() = [0] c_6() = [0] c_7(x1) = [1] x1 + [3] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))} and weakly orienting the rules { ++^#(nil(), y) -> c_10() , rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(rev(x)) -> x} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))} Details: Interpretation Functions: flatten(x1) = [0] x1 + [0] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [1] x1 + [1] flatten^#(x1) = [0] x1 + [0] c_0() = [0] c_1(x1) = [0] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [1] c_3(x1) = [0] x1 + [0] c_4(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [9] c_5() = [0] c_6() = [0] c_7(x1) = [1] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { ++(x, nil()) -> x , ++(nil(), y) -> y} and weakly orienting the rules { rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x))) , ++^#(nil(), y) -> c_10() , rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(rev(x)) -> x} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { ++(x, nil()) -> x , ++(nil(), y) -> y} Details: Interpretation Functions: flatten(x1) = [0] x1 + [0] nil() = [4] unit(x1) = [1] x1 + [3] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [1] x1 + [1] flatten^#(x1) = [0] x1 + [0] c_0() = [0] c_1(x1) = [0] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [1] c_3(x1) = [0] x1 + [0] c_4(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [9] c_5() = [0] c_6() = [0] c_7(x1) = [1] x1 + [2] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { rev(++(x, y)) -> ++(rev(y), rev(x)) , ++(++(x, y), z) -> ++(x, ++(y, z))} Weak Rules: { ++(x, nil()) -> x , ++(nil(), y) -> y , rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x))) , ++^#(nil(), y) -> c_10() , rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(rev(x)) -> x} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { rev(++(x, y)) -> ++(rev(y), rev(x)) , ++(++(x, y), z) -> ++(x, ++(y, z))} Weak Rules: { ++(x, nil()) -> x , ++(nil(), y) -> y , rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x))) , ++^#(nil(), y) -> c_10() , rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(rev(x)) -> x} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { nil_0() -> 2 , unit_0(2) -> 3 , unit_0(3) -> 3 , ++^#_0(2, 2) -> 10 , ++^#_0(2, 3) -> 10 , ++^#_0(3, 2) -> 10 , ++^#_0(3, 3) -> 10 , rev^#_0(2) -> 13 , rev^#_0(3) -> 13 , c_10_0() -> 10} 16) { rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x))) , ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z))) , ++^#(x, nil()) -> c_9()} The usable rules for this path are the following: { rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(++(x, y)) -> ++(rev(y), rev(x)) , rev(rev(x)) -> x , ++(x, nil()) -> x , ++(nil(), y) -> y , ++(++(x, y), z) -> ++(x, ++(y, z))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(++(x, y)) -> ++(rev(y), rev(x)) , rev(rev(x)) -> x , ++(x, nil()) -> x , ++(nil(), y) -> y , ++(++(x, y), z) -> ++(x, ++(y, z)) , ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z))) , rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x))) , ++^#(x, nil()) -> c_9()} Details: We apply the weight gap principle, strictly orienting the rules { rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(rev(x)) -> x , ++^#(x, nil()) -> c_9()} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(rev(x)) -> x , ++^#(x, nil()) -> c_9()} Details: Interpretation Functions: flatten(x1) = [0] x1 + [0] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [1] x1 + [1] flatten^#(x1) = [0] x1 + [0] c_0() = [0] c_1(x1) = [0] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [1] c_3(x1) = [0] x1 + [0] c_4(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [1] c_5() = [0] c_6() = [0] c_7(x1) = [1] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [1] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))} and weakly orienting the rules { rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(rev(x)) -> x , ++^#(x, nil()) -> c_9()} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))} Details: Interpretation Functions: flatten(x1) = [0] x1 + [0] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [1] x1 + [1] flatten^#(x1) = [0] x1 + [0] c_0() = [0] c_1(x1) = [0] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [1] c_3(x1) = [0] x1 + [0] c_4(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [9] c_5() = [0] c_6() = [0] c_7(x1) = [1] x1 + [5] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [1] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { ++(x, nil()) -> x , ++(nil(), y) -> y} and weakly orienting the rules { rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x))) , rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(rev(x)) -> x , ++^#(x, nil()) -> c_9()} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { ++(x, nil()) -> x , ++(nil(), y) -> y} Details: Interpretation Functions: flatten(x1) = [0] x1 + [0] nil() = [1] unit(x1) = [1] x1 + [4] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [1] x1 + [1] flatten^#(x1) = [0] x1 + [0] c_0() = [0] c_1(x1) = [0] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3(x1) = [0] x1 + [0] c_4(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [9] c_5() = [0] c_6() = [0] c_7(x1) = [1] x1 + [1] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [1] x1 + [2] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { rev(++(x, y)) -> ++(rev(y), rev(x)) , ++(++(x, y), z) -> ++(x, ++(y, z)) , ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))} Weak Rules: { ++(x, nil()) -> x , ++(nil(), y) -> y , rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x))) , rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(rev(x)) -> x , ++^#(x, nil()) -> c_9()} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { rev(++(x, y)) -> ++(rev(y), rev(x)) , ++(++(x, y), z) -> ++(x, ++(y, z)) , ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))} Weak Rules: { ++(x, nil()) -> x , ++(nil(), y) -> y , rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x))) , rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(rev(x)) -> x , ++^#(x, nil()) -> c_9()} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { nil_0() -> 2 , unit_0(2) -> 3 , unit_0(3) -> 3 , ++^#_0(2, 2) -> 10 , ++^#_0(2, 3) -> 10 , ++^#_0(3, 2) -> 10 , ++^#_0(3, 3) -> 10 , rev^#_0(2) -> 13 , rev^#_0(3) -> 13 , c_9_0() -> 10} 17) { rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x))) , ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))} The usable rules for this path are the following: { rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(++(x, y)) -> ++(rev(y), rev(x)) , rev(rev(x)) -> x , ++(x, nil()) -> x , ++(nil(), y) -> y , ++(++(x, y), z) -> ++(x, ++(y, z))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(++(x, y)) -> ++(rev(y), rev(x)) , rev(rev(x)) -> x , ++(x, nil()) -> x , ++(nil(), y) -> y , ++(++(x, y), z) -> ++(x, ++(y, z)) , rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x))) , ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))} Details: We apply the weight gap principle, strictly orienting the rules { rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(rev(x)) -> x} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(rev(x)) -> x} Details: Interpretation Functions: flatten(x1) = [0] x1 + [0] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [1] x1 + [1] flatten^#(x1) = [0] x1 + [0] c_0() = [0] c_1(x1) = [0] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3(x1) = [0] x1 + [0] c_4(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [1] c_5() = [0] c_6() = [0] c_7(x1) = [1] x1 + [1] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [1] x1 + [1] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))} and weakly orienting the rules { rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(rev(x)) -> x} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))} Details: Interpretation Functions: flatten(x1) = [0] x1 + [0] nil() = [0] unit(x1) = [1] x1 + [3] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [1] x1 + [1] flatten^#(x1) = [0] x1 + [0] c_0() = [0] c_1(x1) = [0] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3(x1) = [0] x1 + [0] c_4(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [9] c_5() = [0] c_6() = [0] c_7(x1) = [1] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [1] x1 + [8] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { ++(x, nil()) -> x , ++(nil(), y) -> y} and weakly orienting the rules { rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x))) , rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(rev(x)) -> x} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { ++(x, nil()) -> x , ++(nil(), y) -> y} Details: Interpretation Functions: flatten(x1) = [0] x1 + [0] nil() = [1] unit(x1) = [1] x1 + [6] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [1] x1 + [1] flatten^#(x1) = [0] x1 + [0] c_0() = [0] c_1(x1) = [0] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [1] c_3(x1) = [0] x1 + [0] c_4(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [8] c_5() = [0] c_6() = [0] c_7(x1) = [1] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [1] x1 + [8] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { rev(++(x, y)) -> ++(rev(y), rev(x)) , ++(++(x, y), z) -> ++(x, ++(y, z)) , ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))} Weak Rules: { ++(x, nil()) -> x , ++(nil(), y) -> y , rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x))) , rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(rev(x)) -> x} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { rev(++(x, y)) -> ++(rev(y), rev(x)) , ++(++(x, y), z) -> ++(x, ++(y, z)) , ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))} Weak Rules: { ++(x, nil()) -> x , ++(nil(), y) -> y , rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x))) , rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(rev(x)) -> x} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { nil_0() -> 2 , unit_0(2) -> 3 , unit_0(3) -> 3 , ++^#_0(2, 2) -> 10 , ++^#_0(2, 3) -> 10 , ++^#_0(3, 2) -> 10 , ++^#_0(3, 3) -> 10 , rev^#_0(2) -> 13 , rev^#_0(3) -> 13} 18) {rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))} The usable rules for this path are the following: { rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(++(x, y)) -> ++(rev(y), rev(x)) , rev(rev(x)) -> x , ++(x, nil()) -> x , ++(nil(), y) -> y , ++(++(x, y), z) -> ++(x, ++(y, z))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(++(x, y)) -> ++(rev(y), rev(x)) , rev(rev(x)) -> x , ++(x, nil()) -> x , ++(nil(), y) -> y , ++(++(x, y), z) -> ++(x, ++(y, z)) , rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))} Details: We apply the weight gap principle, strictly orienting the rules { rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(rev(x)) -> x} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(rev(x)) -> x} Details: Interpretation Functions: flatten(x1) = [0] x1 + [0] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [1] x1 + [1] flatten^#(x1) = [0] x1 + [0] c_0() = [0] c_1(x1) = [0] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3(x1) = [0] x1 + [0] c_4(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [1] c_5() = [0] c_6() = [0] c_7(x1) = [1] x1 + [1] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))} and weakly orienting the rules { rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(rev(x)) -> x} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))} Details: Interpretation Functions: flatten(x1) = [0] x1 + [0] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [1] x1 + [1] flatten^#(x1) = [0] x1 + [0] c_0() = [0] c_1(x1) = [0] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [3] c_3(x1) = [0] x1 + [0] c_4(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [9] c_5() = [0] c_6() = [0] c_7(x1) = [1] x1 + [1] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { ++(x, nil()) -> x , ++(nil(), y) -> y} and weakly orienting the rules { rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x))) , rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(rev(x)) -> x} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { ++(x, nil()) -> x , ++(nil(), y) -> y} Details: Interpretation Functions: flatten(x1) = [0] x1 + [0] nil() = [8] unit(x1) = [1] x1 + [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] rev(x1) = [1] x1 + [1] flatten^#(x1) = [0] x1 + [0] c_0() = [0] c_1(x1) = [0] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3(x1) = [0] x1 + [0] c_4(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [9] c_5() = [0] c_6() = [0] c_7(x1) = [1] x1 + [1] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { rev(++(x, y)) -> ++(rev(y), rev(x)) , ++(++(x, y), z) -> ++(x, ++(y, z))} Weak Rules: { ++(x, nil()) -> x , ++(nil(), y) -> y , rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x))) , rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(rev(x)) -> x} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { rev(++(x, y)) -> ++(rev(y), rev(x)) , ++(++(x, y), z) -> ++(x, ++(y, z))} Weak Rules: { ++(x, nil()) -> x , ++(nil(), y) -> y , rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x))) , rev(nil()) -> nil() , rev(unit(x)) -> unit(x) , rev(rev(x)) -> x} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { nil_0() -> 2 , unit_0(2) -> 3 , unit_0(3) -> 3 , ++^#_0(2, 2) -> 10 , ++^#_0(2, 3) -> 10 , ++^#_0(3, 2) -> 10 , ++^#_0(3, 3) -> 10 , rev^#_0(2) -> 13 , rev^#_0(3) -> 13} 19) { flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} The usable rules for this path are empty. We have oriented the usable rules with the following strongly linear interpretation: Interpretation Functions: flatten(x1) = [0] x1 + [0] nil() = [0] unit(x1) = [0] x1 + [0] ++(x1, x2) = [0] x1 + [0] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [0] x1 + [0] c_0() = [0] c_1(x1) = [0] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [0] x1 + [0] x2 + [0] c_3(x1) = [0] x1 + [0] c_4(x1) = [0] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] We have applied the subprocessor on the resulting DP-problem: 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: { flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} Weak Rules: {} Details: We apply the weight gap principle, strictly orienting the rules {flatten^#(flatten(x)) -> c_4(flatten^#(x))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {flatten^#(flatten(x)) -> c_4(flatten^#(x))} Details: Interpretation Functions: flatten(x1) = [1] x1 + [8] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [0] x1 + [0] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [1] c_0() = [0] c_1(x1) = [1] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [0] x1 + [0] x2 + [0] c_3(x1) = [0] x1 + [0] c_4(x1) = [1] x1 + [1] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {flatten^#(unit(x)) -> c_1(flatten^#(x))} and weakly orienting the rules {flatten^#(flatten(x)) -> c_4(flatten^#(x))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {flatten^#(unit(x)) -> c_1(flatten^#(x))} Details: Interpretation Functions: flatten(x1) = [1] x1 + [8] nil() = [0] unit(x1) = [1] x1 + [8] ++(x1, x2) = [0] x1 + [0] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [1] c_0() = [0] c_1(x1) = [1] x1 + [3] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [0] x1 + [0] x2 + [0] c_3(x1) = [0] x1 + [0] c_4(x1) = [1] x1 + [1] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor 'Empty TRS' ----------- Answer: YES(?,O(1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {} Weak Rules: { flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} Details: The given problem does not contain any strict rules 20) { flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(flatten(x)) -> c_4(flatten^#(x)) , flatten^#(nil()) -> c_0()} The usable rules for this path are empty. We have oriented the usable rules with the following strongly linear interpretation: Interpretation Functions: flatten(x1) = [0] x1 + [0] nil() = [0] unit(x1) = [0] x1 + [0] ++(x1, x2) = [0] x1 + [0] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [0] x1 + [0] c_0() = [0] c_1(x1) = [0] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [0] x1 + [0] x2 + [0] c_3(x1) = [0] x1 + [0] c_4(x1) = [0] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] We have applied the subprocessor on the resulting DP-problem: 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {flatten^#(nil()) -> c_0()} Weak Rules: { flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} Details: We apply the weight gap principle, strictly orienting the rules {flatten^#(nil()) -> c_0()} and weakly orienting the rules { flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {flatten^#(nil()) -> c_0()} Details: Interpretation Functions: flatten(x1) = [1] x1 + [0] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [0] x1 + [0] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [1] x1 + [1] c_0() = [0] c_1(x1) = [1] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [0] x1 + [0] x2 + [0] c_3(x1) = [0] x1 + [0] c_4(x1) = [1] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor 'Empty TRS' ----------- Answer: YES(?,O(1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {} Weak Rules: { flatten^#(nil()) -> c_0() , flatten^#(unit(x)) -> c_1(flatten^#(x)) , flatten^#(flatten(x)) -> c_4(flatten^#(x))} Details: The given problem does not contain any strict rules 21) {rev^#(rev(x)) -> c_8()} The usable rules for this path are empty. We have oriented the usable rules with the following strongly linear interpretation: Interpretation Functions: flatten(x1) = [0] x1 + [0] nil() = [0] unit(x1) = [0] x1 + [0] ++(x1, x2) = [0] x1 + [0] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [0] x1 + [0] c_0() = [0] c_1(x1) = [0] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [0] x1 + [0] x2 + [0] c_3(x1) = [0] x1 + [0] c_4(x1) = [0] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] We have applied the subprocessor on the resulting DP-problem: 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {rev^#(rev(x)) -> c_8()} Weak Rules: {} Details: We apply the weight gap principle, strictly orienting the rules {rev^#(rev(x)) -> c_8()} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {rev^#(rev(x)) -> c_8()} Details: Interpretation Functions: flatten(x1) = [0] x1 + [0] nil() = [0] unit(x1) = [0] x1 + [0] ++(x1, x2) = [0] x1 + [0] x2 + [0] rev(x1) = [1] x1 + [0] flatten^#(x1) = [0] x1 + [0] c_0() = [0] c_1(x1) = [0] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [0] x1 + [0] x2 + [0] c_3(x1) = [0] x1 + [0] c_4(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [1] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor 'Empty TRS' ----------- Answer: YES(?,O(1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {} Weak Rules: {rev^#(rev(x)) -> c_8()} Details: The given problem does not contain any strict rules 22) {rev^#(unit(x)) -> c_6()} The usable rules for this path are empty. We have oriented the usable rules with the following strongly linear interpretation: Interpretation Functions: flatten(x1) = [0] x1 + [0] nil() = [0] unit(x1) = [0] x1 + [0] ++(x1, x2) = [0] x1 + [0] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [0] x1 + [0] c_0() = [0] c_1(x1) = [0] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [0] x1 + [0] x2 + [0] c_3(x1) = [0] x1 + [0] c_4(x1) = [0] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] We have applied the subprocessor on the resulting DP-problem: 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {rev^#(unit(x)) -> c_6()} Weak Rules: {} Details: We apply the weight gap principle, strictly orienting the rules {rev^#(unit(x)) -> c_6()} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {rev^#(unit(x)) -> c_6()} Details: Interpretation Functions: flatten(x1) = [0] x1 + [0] nil() = [0] unit(x1) = [1] x1 + [0] ++(x1, x2) = [0] x1 + [0] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [0] x1 + [0] c_0() = [0] c_1(x1) = [0] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [0] x1 + [0] x2 + [0] c_3(x1) = [0] x1 + [0] c_4(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [1] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor 'Empty TRS' ----------- Answer: YES(?,O(1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {} Weak Rules: {rev^#(unit(x)) -> c_6()} Details: The given problem does not contain any strict rules 23) {rev^#(nil()) -> c_5()} The usable rules for this path are empty. We have oriented the usable rules with the following strongly linear interpretation: Interpretation Functions: flatten(x1) = [0] x1 + [0] nil() = [0] unit(x1) = [0] x1 + [0] ++(x1, x2) = [0] x1 + [0] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [0] x1 + [0] c_0() = [0] c_1(x1) = [0] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [0] x1 + [0] x2 + [0] c_3(x1) = [0] x1 + [0] c_4(x1) = [0] x1 + [0] rev^#(x1) = [0] x1 + [0] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] We have applied the subprocessor on the resulting DP-problem: 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {rev^#(nil()) -> c_5()} Weak Rules: {} Details: We apply the weight gap principle, strictly orienting the rules {rev^#(nil()) -> c_5()} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {rev^#(nil()) -> c_5()} Details: Interpretation Functions: flatten(x1) = [0] x1 + [0] nil() = [0] unit(x1) = [0] x1 + [0] ++(x1, x2) = [0] x1 + [0] x2 + [0] rev(x1) = [0] x1 + [0] flatten^#(x1) = [0] x1 + [0] c_0() = [0] c_1(x1) = [0] x1 + [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [0] x1 + [0] x2 + [0] c_3(x1) = [0] x1 + [0] c_4(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [1] c_5() = [0] c_6() = [0] c_7(x1) = [0] x1 + [0] c_8() = [0] c_9() = [0] c_10() = [0] c_11(x1) = [0] x1 + [0] Finally we apply the subprocessor 'Empty TRS' ----------- Answer: YES(?,O(1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {} Weak Rules: {rev^#(nil()) -> c_5()} Details: The given problem does not contain any strict rules